/*

 * $Id: HtmlHandler.java 651946 2008-04-27 13:41:38Z apetrelli $
 *
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *  http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

package restful.struts2.handler;

import static restful.struts2.Slurp.*;

import java.io.*;

import restful.struts2.*;

/** Handles HTML content, usually just a simple passthrough to the framework */
public class HtmlHandler implements ContentTypeHandler {
	private JsonLibHandler jsonHandler = new JsonLibHandler();

	public String fromObject(Object obj, String resultCode, Writer out) {
		return resultCode;
	}

	public String getContentType() {
		return "application/xhtml+xml";
	}

	public String getExtension() {
		return "xhtml";
	}

	public Object toObject(Reader in, Object target) {
		return toObject(slurp(in), target);
	}

	public Object toObject(String in, Object target) {
		String inJson = new QueryString2Json(in).toJson();
		return jsonHandler.toObject(inJson, target);
	}
}